# -*- coding: utf-8 -*-
"""
@Time ： 2021/4/18 0:54
@Auth ： Mr. royalday 2487625775
@Company ： 2487625775@qq.cpm
@Function ：腾讯云短信发送服务
"""

import ssl
from django.conf import settings

# ssl._create_default_https_context = ssl._create_unverified_context
from qcloudsms_py import SmsMultiSender, SmsSingleSender
from qcloudsms_py.httpclient import HTTPError

appid = settings.TENCENT_SMS_BASIC['appid']        # 自己应用ID
appkey = settings.TENCENT_SMS_BASIC['appkey']      # 自己应用Key
sms_sign = settings.TENCENT_SMS_BASIC['sms_sign']  # 自己腾讯云创建签名时填写的签名内容（使用公众号的话这个值一般是公众号全称或简称）
sender = SmsSingleSender(appid, appkey)


def send_sms_single(phone_num, template_id, template_param_list):
    """
    单条发送短信
    :param phone_num: 手机号
    :param template_id: 腾讯云短信模板ID
    :param template_param_list: 短信模板所需参数列表，例如:【验证码：{1}，描述：{2}】，则传递参数 [888,666]按顺序去格式化模板
    :return:
    """
    # appid = appid  # 自己应用ID
    # appkey = appkey  # 自己应用Key
    # sms_sign = sms_sign  # 自己腾讯云创建签名时填写的签名内容（使用公众号的话这个值一般是公众号全称或简称）
    # sender = SmsSingleSender(appid, appkey)
    try:
        # response = sender.send_with_param(86, phone_num, template_id, template_param_list, sign=sms_sign)
        response = {'result': 0, 'msg': "发送成功"}
    except HTTPError as e:
        response = {'result': 1000, 'errmsg': "网络异常发送失败"}
    return response


def send_sms_multi(phone_num_list, template_id, param_list):
    """
    批量发送短信
    :param phone_num_list:手机号列表
    :param template_id:腾讯云短信模板ID
    :param param_list:短信模板所需参数列表，例如:【验证码：{1}，描述：{2}】，则传递参数 [888,666]按顺序去格式化模板
    :return:
    """
    # appid = 112142311
    # appkey = "8cc5b87123y423423412387930004"
    # sms_sign = "Python之路"
    # sender = SmsMultiSender(appid, appkey)
    try:
        response = sender.send_with_param(86, phone_num_list, template_id, param_list, sign=sms_sign)
    except HTTPError as e:
        response = {'result': 1000, 'errmsg': "网络异常发送失败"}
    return response


if __name__ == '__main__':
    result1 = send_sms_single("15131255089", 548760, [666, ])
    print(result1)
    result2 = send_sms_single(["15131255089", "15131255089", "15131255089", ], 548760, [999, ])
    print(result2)
